/**
 * Copyright c FOUNDER CORPORATION 2006 All Rights Reserved.
 * CommonLogUtil.java
 */
package com.iori.common.log;

import com.iori.common.util.PropertiesUtil;

/**
 * [クラス名]<br>
 * ログ出力関連Utilityクラス<br>
 * <br>
 * [機能概要]<br>
 * ログ出力関連Utilityクラス<br>
 * <br>
 * [変更履歴]<br>
 * 2007/04/13 ver1.00 新規作成 zhenglinxi<br>
 * <br>
 *
 * @author zhenglinxi
 * @version 1.00
 */

public class LogUtil {

	private static final ThreadLocal<String[]> session = new ThreadLocal<String[]>();

	/**
	 * 根據msgID得到message
	 *
	 * @param msgID
	 * @return
	 */
	public static String getMessage(String msgID) {

		return PropertiesUtil.getMessage(msgID);

	}

	/**
	 * 根據msgID和需要替換的内容得到message
	 *
	 * @param msgID
	 * @param values
	 *            需要替換内容數組
	 * @return
	 */
	public static String getMessage(String msgID, Object... values) {

		String originalString = PropertiesUtil.getMessage(msgID);

		for (int i = 0; i < values.length; i++) {
			String value = values[i].toString();
			originalString = originalString.replaceFirst("\\{" + i + "\\}",
					value);
		}
		return originalString;
	}

	/**
	 * 添加端末信息
	 *
	 * @param opeTmnlId
	 *            操作端末ＩＤ
	 * @param opeUserId
	 *            操作ユーザＩＤ
	 */
	public static void setTerminalInfo(String opeTmnlId, String opeUserId) {
		String[] ti = { opeTmnlId, opeUserId };
		session.set(ti);
	}

	/**
	 * 得到 操作端末ＩＤ
	 *
	 * @return
	 */
	public static String getOpeTmnlId() {
		if (session.get() != null) {
			String[] ti = (String[]) session.get();
			return ti[0];
		} else {
			return "";
		}
	}

	/**
	 * 得到 操作ユーザＩＤ
	 *
	 * @return
	 */
	public static String getOpeUserId() {
		if (session.get() != null) {
			String[] ti = (String[]) session.get();
			return ti[1];
		} else {
			return "";
		}
	}

	/**
	 *
	 * 清空端末信息
	 */
	public static void removeTerminallInfo() {

		session.remove();

	}

}
